package com.example.onlinemusic.mapper;

import com.example.onlinemusic.model.LoveMusic;
import com.example.onlinemusic.model.Music;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;


/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 74646
 * Date: 2022-08-24
 * Time: 12:01
 */
@Mapper
public interface LoveMusicMapper {

    /**
     * 查询是否已经收藏过该音乐
     * @param userId
     * @param musicId
     * @return
     */
    LoveMusic findLoveMusic(int userId, int musicId);

    /**
     * 收藏音乐
     * @param userId
     * @param musicId
     * @return
     */
    boolean insertLoveMusic(int userId,int musicId);

    /**
     * 查询当前用户收藏的所有音乐
     * @param userId
     * @return
     */
    List<Music> findLoveMusicByUserId(int userId);

    /**
     * 模糊查询，根据歌曲名查询当前用户指定的收藏歌曲
     * @param musicName
     * @param userId
     * @return
     */
    List<Music> findLoveMusicByMusicNameAndUserId(String musicName,int userId);

    /**
     *  移除某个用户收藏的引用
     * @param userId 用户的 ID
     * @param musicId 待移除音乐的 ID
     * @return 受影响的行数
     */
    int removeLoveMusic(int userId,int musicId);

    /**
     * 根据音乐的ID进行删除
     * @param musicId
     * @return
     */
    int deleteLoveMusicByMusicId(int musicId);

}
